The present invention relates generally to wavelet-based image codecs and, more particularly, to the improvement in image coding efficiency at high or nearly-lossless bit rates.
It is generally known in the field of image processing that reducing the number of bits representing color components in an RGB image, for example, results in a smaller image file but a degraded image. With the introduction of scalable image coding formats like the JPEG2000, it has become possible to send and receive only a fraction of the image file and still reconstruct a high-quality image at the receiving end. The part that is dropped from the image usually contains information that describes the high-frequency components present in the image. That is, details that the human visual system (HVS) is not very sensitive to. However, dropping out all the details results in a blurry image. Thus, both reducing the color information in the original image and leaving out the details in the coded image result in an image of lower quality.
JPEG stands for Joint Photographic Experts Group. In 1988 this committee adopted its first standard, known as the JPEG baseline, which is based on discrete cosine transform (DCT) and on Huffman coding. In 1996, a call for proposals to advance a standardized image-coding system for the new millennium was issued and many algorithms were proposed. Presently, a new standard, named JPEG2000 has been finalized. This new standard provides low bit-rate operation, with rate-distortion and subjective image quality performance superior to existing standards, without sacrificing performance at other points in the rate-distortion spectrum. And more importantly, JPEG 2000 allows extraction of different resolutions, pixel fidelities, region of interest, multiple components, and more, all from a single compressed bitstream. This allows an application to manipulate, store or transmit only the essential information for any target device from any JPEG 2000 compressed source image.
JPEG2000 uses wavelets as the basis for its coding scheme. With wavelet-based coding, most of the image information is coded in the earlier stages of compression, giving good reconstruction at low rates. However, at high rates, a lot more data is used to refine the image to its original form and significant amounts of system resources, such as bandwidth and computational power, are used for coding an image. System resources can be very costly in certain environments, such as the mobile wireless terminal where both bandwidth and computational power are at a premium. Furthermore, the rate of improvement in image quality at high rates is insignificant when a large amount of data is needed for the purpose. Moreover, the HVS is not able to appreciably discern the difference in image quality at high rates. For example, it can be hard to differentiate between two images at 40 dB and 50 dB, when, in fact, they can be quite different in their respective coded file sizes. If the HVS does not have the ability to detect very subtle changes in an image, then it is inefficient and perhaps unnecessary to spend any coding resources on data that corresponds to such changes.
In prior art, coding efficiency is improved by an operation called xe2x80x9cthinningxe2x80x9d. As disclosed in EP 1 022 912 A2 (Sugimori), the quantity of data after the irreversible color transform is reduced by removing some of the image pixels. This operation results in degradation of the spatial resolution of the image.
There is a need for pre-processing the image data such that only the significant parts of the image data are retained for coding while the insignificant parts are removed. This is based on the fact that the HVS does not have the ability to detect very subtle changes in an image.
It is advantageous and desirable to provide a method of image coding where the degradation of the spatial resolution of the image can be avoided while reducing the quantity of the data to be compressed and coded.
It is a primary objective of the present invention to provide a method and system for coding an image using a wavelet-based image coding scheme to achieve gains at high or nearly lossless rates. At high and nearly lossless rates, most wavelet based image coding schemes code data that does not contribute significantly to the visual improvement of image quality. Thus, the objective of the present invention can be achieved by eliminating the data that does not affect the image quality as perceived by a human observer. In particular, the elimination of insignificant data from an image is carried out before wavelet transformation and compression, thereby increasing the coding efficiency and reducing computation complexity.
The present invention improves prior art solutions by considerably reducing the amount of data present in an image for encoding and transmission while maintaining the visual quality of the image. The advantage can be appreciated particularly in nearly-lossless applications where the compressed file size is substantially reduced without sacrificing the visual image quality.
To achieve the aforementioned objective, the present invention reduces the color information in all pixels in an unequal manner, after the irreversible color transformation. More specifically, the present invention removes insignificant data from the image source by eliminating one or more lower bit planes of an image in the YUV color space.
Accordingly, the first aspect of the present invention is a method of encoding an image, wherein the image is separated into a plurality of first color components of a first color space, and the first color components are converted into a plurality of second color components of a second color space different from the first color space, each of the second color components having a number of more-significant bit-planes and a first number of less-significant bit-planes. The encoding method comprises the steps of:
adjusting the second color components into adjusted second color components by changing the first number of less-significant bit-planes of at least one of the second color components to a second number smaller than the first number;
transforming the adjusted second color components based on a forward wavelet transformation for providing transformed image data; and
coding the transformed image data for forming a bitstream indicative of the transformed image data.
According to the present invention, the first color space is an RGB color space and the second color space is a YUV color space.
Preferably, the second color components include one luminance component and two chrominance components and the first number is 2, and wherein the second number of bit-planes in the luminance component is 0 and the second number of bit planes in the chrominance components is 1. Furthermore, the number of the more-significant bit-planes is 6. Thus, among the second color components, the total number of bit-planes of the luminance component is 6 and the total number of bit-planes of either one of the chrominance components is 7.
However, it is possible that the first number of 1 and the second number of any of the components is 0.
Preferably, the number of more-significant bit-planes is 6. However, it is possible that the number of more-significant bit-planes is more or less than 6, or equal to 0.
Preferably, the reducing step is achieved by bit-shifting. However, it is possible that the reducing step is achieved through a look-up table.
According to the second aspect of the present invention, an apparatus for encoding an image separated into a plurality of first color components of a first color space, wherein the first color components are converted into a plurality of second color components of a second color space different from the first color space, each of the second color components having a number of more-significant bit-planes and a first number of less-significant bit-planes, said apparatus comprising:
means, responsive to the second color components, for adjusting from at least one of the second color components the first number of bit-planes to a second number smaller than the first number for providing adjusted second color components;
means for transforming the adjusted color components into transformed image data based on a forward wavelet transformation for providing a signal indicative of the transformed image data, and
means, responsive to the signal, for coding the transformed image data and forming a bitstream indicative of the coded transformed image data.
Preferably, the adjusting means comprises a bit-shifter or a bit-shifting software program for effecting the bit-plane reduction. Alternatively, the adjusting comprises a look-up table for effecting the bit-plane reduction.
According to the present invention, the second number of each of the second color components is predetermined and stored in the encoder for the adjusting means to provide the adjusted second color components based on the stored second number. Alternatively, the second number is conveyed to the encoder.
According to the third aspect of the present invention, a software program for use in an encoder having transform means and coding means for processing image data indicative of an image into a bitstream, wherein the image is separated into a plurality of first color components of a first color space, and the first color components are converted into a plurality of second color components of a second color space different from the first color space, each of the second color components having a number of more-significant bit-planes and a first number of less-significant bit-planes, said software program comprising the steps of:
adjusting, from at least one of the second color components, the first number of bit-planes to a second number smaller than the first number for providing adjusted second color components;
providing the adjusted second color components to the transform means so as to allow the transform means to transform the adjusted second color components based on a forward wavelet transformation into transformed image data, and the coding means to form the bitstream based on the transformed image data.
Preferably, the adjusting step is based on bit-shifting. Alternatively, the adjusting step is based on a look-up table.
According to the fourth aspect of the present invention, an apparatus for decoding a bitstream having coded data indicative of an image into a reconstructed image, wherein
the image is separated into a plurality of first color components of a first color space;
the first color components are converted into a plurality of second color components of a second color space different from the first color space, each of the second color components having a first number of more-significant bit-planes and a second number of less-significant bit-planes;
the second color components are adjusted into adjusted color components by changing, from at least one of the second color components, the second number of bit-planes to a corresponding third number smaller than the second number for providing adjusted second color components in the second color space;
the adjusted color components are transformed into transformed image data based on a forward wavelet transformation; and
the transformed data is coded into the bitstream having the coded data, said apparatus comprising:
means, responsive to the bitstream, for decoding the coded data for providing reconstructed transformed data;
means for processing the reconstructed transformed data based on an inverse wavelet transformation for providing first reconstructed color components in the second color space;
means for changing the first reconstructed color components into second reconstructed color components in the second color space, such that each of the second reconstructed color components has a number of more-significant bit-planes equal to the first number, and a number of less-significant bit-planes equal to the second number.
According to present invention, the apparatus may comprises means for converting the second reconstructed color components in the second color space into third reconstructed color components in the first color space for forming the reconstructed image, wherein each of the third reconstructed color components has a number of more-significant bit-planes equal to the first number, and a number of less-significant bit-planes equal to the second number.
According to the present invention, the corresponding third number of said at least one of the second color components is predetermined, said apparatus further comprising means for obtaining said corresponding third number so as to allow the changing means to change the first reconstructed color components into the second reconstructed color components based on the obtained third number. Alternatively, the corresponding third number of said at least one of the second color components is included in the bitstream so as to allow the changing means to change the first reconstructed color components into the second reconstructed color components based on the included third number.
According to the present invention, each of the first reconstructed color components is corresponding to one of the second color components, and each of the first reconstructed color components has a number of more-significant bit-planes equal to the first number, and a number of less-significant bit-planes equal to the third number of less-significant bit-planes of the corresponding one of the second color components.
According to the fifth aspect of the present invention, a software program for use in an apparatus for processing a bitstream having coded data indicative of an image into a reconstructed image, wherein
the image is separated into a plurality of first color components of a first color space;
the first color components are converted into a plurality of second color components of a second color space different from the first color space, each of the second color components having a first number of more-significant bit-planes and a second number of less-significant bit-planes;
the second color components are adjusted into adjusted second color components by changing, from at least one of the second color components, the second number of bit-planes to a corresponding third number smaller than the second number for providing adjusted second color components in the second color space;
the adjusted color components are transformed into transformed image data based on a forward wavelet transformation; and
the transformed data is coded into the bitstream having the coded data, said apparatus comprising:
means, responsive to the bitstream, for decoding the coded data for providing reconstructed transformed data;
means for processing the reconstructed transformed data based on an inverse wavelet transformation for providing first reconstructed color components in the second color space, each of the first reconstructed color components corresponding to one of the second color components, wherein each of the first reconstructed color components has a number of more-significant bit-planes equal to the first number, and a fourth number of less-significant number of bit-planes equal to the corresponding third number; said software program comprising the steps of:
changing the first reconstructed color components into second reconstructed color components in the second color space, effectively adding a number of bit-planes to at least one of the first reconstructed color components corresponding to said at least one of the second color components such that each of the second reconstructed color components has a number of more-significant bit-planes equal to the first number, and a number of less-significant bit-planes equal to the second number; and
setting pixel values of the added bit-planes to zero.
Preferably, the changing step is based on bit-shifting. Alternatively, the changing step is achieved through a look-up table.
According to the sixth aspect of the present invention, a system for coding an image into a bitstream and decoding the bitstream into a reconstructed image, wherein the image is separated into a plurality of first color components of a first color space, and the first color components are converted into a plurality of second color components of a second space different from the first color space, wherein each of the second color components has a first number of more-significant bit-planes and a second number of less-significant bit planes, said system comprising:
means, responsive to the second color components, for adjusting at least one of the second color components the second number of bit-planes to a corresponding third number smaller than the second number for providing adjusted second color components in the second color space;
means for transforming the adjusted second color components into transformed image data based on a forward wavelet transformation for providing a signal indicative of the transformed image data;
means, responsive to the signal, for coding the transformed image data and forming a bitstream having coded information indicated of the coded transformed image data;
means, responsive to the bitstream, for decoding the coded information for providing reconstructed transformed data;
means for processing the reconstructed transformed data based on an inverse wavelet transformation for providing first reconstructed color components in the second color space; and
means for changing the first reconstructed color components into second reconstructed color components in the second color space indicative of the reconstructed image, such that each of the second reconstructed color components has a number of more-significant bit-planes equal to the first number, and a number of less-significant bit-planes equal to the second number.
Optionally, the system comprises means for converting the second reconstructed color components in the second space into third reconstructed color components in the first color space for forming the reconstructed image.
The present invention will become apparent upon reading the description taken in conjunction with FIGS. 1 to 3b. 